import {IdGenerator, SQLiteDataType} from "../../../types";

/**
 * UUID生成器
 */
export class UuidGenerator implements IdGenerator {
  generate(): string {
    // 简单的UUID v4实现
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
      const r = Math.random() * 16 | 0;
      const v = c === 'x' ? r : (r & 0x3 | 0x8);
      return v.toString(16);
    });
  }

  fieldType(): SQLiteDataType {
    return 'TEXT';
  }
}
